Eli Zaretskii [Fri, 20 May 2022 11:35:03 +0000 (14:35 +0300)]
; Improve documentation of 'display-buffer-avoid-small-windows'
* lisp/window.el (display-buffer-avoid-small-windows)
(get-lru-window):
* etc/NEWS:
* doc/lispref/windows.texi (Choosing Window Options): Improve
documentation of 'display-buffer-avoid-small-windows'.
(Bug#10186)
Lars Ingebrigtsen [Fri, 20 May 2022 10:05:34 +0000 (12:05 +0200)]
Add new user option display-buffer-avoid-small-windows
* doc/lispref/windows.texi (Choosing Window Options): Document it.
* lisp/window.el (display-buffer-avoid-small-windows): New user
option (bug#10186).
(get-lru-window): Use it.
Lars Ingebrigtsen [Fri, 20 May 2022 09:06:49 +0000 (11:06 +0200)]
Clarify select-active-regions doc string
* src/keyboard.c (syms_of_keyboard): Clarify doc string (bug#29889).
Po Lu [Fri, 20 May 2022 09:28:19 +0000 (09:28 +0000)]
Fix race conditions processing zoom events on Haiku
* src/haiku_support.cc (Zoom):
* src/haiku_support.h (struct haiku_zoom_event): Include the
current fullscreen mode in the event.
* src/haikuterm.c (haiku_read_socket): Use that instead of the
current frame's fullscreen mode.
Lars Ingebrigtsen [Fri, 20 May 2022 08:37:15 +0000 (10:37 +0200)]
Re-fix previous `&' dired change
* lisp/dired-aux.el (dired-shell-stuff-it): Re-fix the previous
change -- the &wait was in the wrong place (bug#36331).
Philip Kaludercic [Sun, 15 May 2022 00:09:46 +0000 (02:09 +0200)]
Add option to kill a shell buffer when the process ends
* shell.el (shell-kill-buffer-on-quit): Add new option (bug#55426).
(shell): Respect 'shell-kill-buffer-on-quit'.
* NEWS: Mention 'shell-kill-buffer-on-quit'.
Po Lu [Fri, 20 May 2022 06:46:45 +0000 (14:46 +0800)]
Fix NS port warnings with GCC 12
* src/nsterm.m (ns_draw_glyphless_glyph_string_foreground):
Clear s->char2b after function returns.
Po Lu [Fri, 20 May 2022 05:34:04 +0000 (05:34 +0000)]
Remove flickering when toggling between different fullscreen states on Haiku
* src/haiku_support.cc (FrameMoved): Don't allow moving the
frame along the "filled" axis when fullwidth or fullheight.
(ClearFullscreen): New argument `mode'. Return the previous
rect but don't revert the frame to it if the target mode is not
NONE.
(SetFullscreen): Use rect provided by ClearFullscreen instead.
Po Lu [Fri, 20 May 2022 03:21:47 +0000 (11:21 +0800)]
Minor cleanups to X drag-and-drop code
* src/xterm.c (struct x_client_list_window): Write comments
describing the meaning of each field.
(XM_DRAG_PROTOCOL_VERSION, xm_setup_dnd_targets)
(xm_setup_drag_info, xm_read_drag_receiver_info)
(x_dnd_compute_toplevels): Don't hard-code the supported Motif
protocol version.
Po Lu [Fri, 20 May 2022 02:27:06 +0000 (02:27 +0000)]
Implement `cross-disabled-images' on Haiku
* src/haiku_draw_support.cc (be_draw_cross_on_pixmap_1)
(be_draw_cross_on_pixmap): New functions.
* src/haiku_support.h: Update prototypes.
* src/image.c (image_pixmap_draw_cross, image_disable_image):
Implement drawing cross on Haiku.
Lars Ingebrigtsen [Fri, 20 May 2022 02:23:32 +0000 (04:23 +0200)]
Rename compare-window-configurations and update doc
* doc/lispref/windows.texi (Window Configurations): Update name.
* lisp/strokes.el (strokes-window-configuration-changed-p):
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Update
callers and references.
* lisp/subr.el (compare-window-configurations): Make into obsolete
alias.
* src/window.c (Fwindow_configuration_equal_p): Rename (bug#14964).
Lars Ingebrigtsen [Fri, 20 May 2022 01:59:03 +0000 (03:59 +0200)]
Don't have the tutorial ask to save if we haven't moved
* lisp/tutorial.el (tutorial--save-on-kill): Don't ask if the user
hasn't moved point (bug#37326).
(help-with-tutorial): Set the start point.
Po Lu [Fri, 20 May 2022 01:49:43 +0000 (01:49 +0000)]
Implement more data type conversions for Haiku selections
* src/haikuselect.c (haiku_message_to_lisp):
(lisp_to_type_code):
(haiku_lisp_to_message):
(Fhaiku_drag_message): Recognize `double' and `float' types.
(syms_of_haikuselect): New defsyms.
Lars Ingebrigtsen [Fri, 20 May 2022 01:46:35 +0000 (03:46 +0200)]
Fix font-locking of (defun foo (function ...))
* lisp/emacs-lisp/lisp-mode.el (lisp--el-funcall-position-p):
Don't colorize the `function' in (defun foo (function ...)) as a
special form (bug#37074).
Lars Ingebrigtsen [Fri, 20 May 2022 01:38:27 +0000 (03:38 +0200)]
Make diff--font-lock-prettify do less if we don't have a left fringe
* lisp/vc/diff-mode.el (diff--font-lock-prettify): Don't remove
insert/deletions from the buffer if we don't have a left fringe
(bug#37019).
Lars Ingebrigtsen [Fri, 20 May 2022 01:24:30 +0000 (03:24 +0200)]
Add a new command 'yank-in-context'
* lisp/simple.el (escaped-string-quote): New variable.
(yank-in-context): New command.
(yank-in-context--transform): Helper function.
* lisp/progmodes/sh-script.el (sh-mode): Set up an
escaped-string-quote function.
* lisp/progmodes/sql.el (sql-mode): Define escaped-string-quote.
Po Lu [Fri, 20 May 2022 01:11:38 +0000 (09:11 +0800)]
Fix session management detection of the first X display
* src/xterm.c (x_term_init): Check that there is no other
display in the chain instead of testing the terminal ID.
Lars Ingebrigtsen [Fri, 20 May 2022 00:09:43 +0000 (02:09 +0200)]
Clarify yank-transform-functions doc string
* lisp/simple.el (yank-transform-functions): Clarify calling
convention.
Lars Ingebrigtsen [Fri, 20 May 2022 00:02:12 +0000 (02:02 +0200)]
Make completion in emacs-lisp-mode intern fewer symbols
* lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Don't
intern the string before point just to check whether we're looking
at `ignore-error' (bug#55491).
Lars Ingebrigtsen [Thu, 19 May 2022 23:35:58 +0000 (01:35 +0200)]
Make `&' in dired be more consistent wrt. user input
* lisp/dired-aux.el (dired-do-async-shell-command): Mention that
commands here don't accept input.
Lars Ingebrigtsen [Thu, 19 May 2022 23:17:02 +0000 (01:17 +0200)]
Add new command 'enriched-toggle-markup'
* lisp/textmodes/enriched.el (enriched-toggle-markup): New command
(bug#33855).
Lars Ingebrigtsen [Thu, 19 May 2022 22:15:28 +0000 (00:15 +0200)]
Add new user option 'yank-transform-functions'
* doc/lispref/text.texi (Yanking): Mention it.
(Yanking): Document it.
* lisp/simple.el (yank-transform-functions): New user option.
(yank): Mention it.
* lisp/subr.el (insert-for-yank): Use it.
Eli Zaretskii [Thu, 19 May 2022 12:34:29 +0000 (15:34 +0300)]
; * etc/NEWS: Announce renaming of "Oriya" to "Odia". (Bug#55493)
Eli Zaretskii [Thu, 19 May 2022 12:29:14 +0000 (15:29 +0300)]
Provide Oriya language-environment alongside Odia
* lisp/language/indian.el ("Oriya"): Add another name for the Odia
language-environment. (Bug#55493)
समीर सिंह Sameer Singh [Wed, 18 May 2022 19:38:14 +0000 (01:08 +0530)]
Rename Oriya to Odia, and more
Due to "The Orissa (Alteration of Name) Act, 2011"
(https://legislative.gov.in/sites/default/files/A2011-15.pdf)
Oriya has been renamed to Odia.
* lisp/language/indian.el (set-language-info-alist): Rename
Oriya to Odia. Improve Oriya composition rules.
* lisp/leim/quail/indian.el ("odia"): New input method.
* lisp/erc/erc-lang.el: Obsolete the iso-638-languages variable
(which was a typo) and replace it with iso-639-1-languages.
* etc/HELLO: Rename Oriya to Odia.
Replace the old Odia greeting with the new one.
Add a Hindi greeting separate from the Devanagari one.
(Bug#55493)
Po Lu [Thu, 19 May 2022 12:10:19 +0000 (20:10 +0800)]
Whitelist some incorrectly labeled "color" fonts under Xft
* etc/PROBLEMS: Document problem with fonts incorrectly labeled
as color fonts under Xft.
* src/ftfont.c (xft_color_font_whitelisted_p): New function.
(ftfont_spec_pattern, ftfont_list): Respect whitelisting of
"color" fonts under Xft.
* src/xftfont.c (syms_of_xftfont): New variable
`xft-color-font-whitelist'.
Po Lu [Thu, 19 May 2022 09:36:24 +0000 (17:36 +0800)]
Fix tooltip buffer flipping inside popup menus
* src/xterm.c (x_flip_and_flush): Don't ignore if
`inhibit-redisplay' but F is a tooltip frame. (bug#55519)
Po Lu [Thu, 19 May 2022 09:02:38 +0000 (17:02 +0800)]
Fix error handling when allowing touch events
* src/xterm.c (handle_one_xevent): Catch errors correctly when
linking touch points.
Stefan Kangas [Thu, 19 May 2022 08:12:43 +0000 (10:12 +0200)]
; * doc/misc/efaq.texi: Replace copyright years with ranges.
Eli Zaretskii [Thu, 19 May 2022 08:00:36 +0000 (11:00 +0300)]
Fix Flymake diagnostics reporting in non-UTF-8 locales
* lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile)
(elisp-flymake--batch-compile-for-flymake): Bind I/O encoding to
UTF-8, instead of relying on the locale's defaults. This is
needed because ELisp files use UTF-8 by default, but Flymake
doesn't know about that, since it isn't specific to ELisp.
Po Lu [Thu, 19 May 2022 06:46:21 +0000 (06:46 +0000)]
Fix specifying terminal names to some functions on Haiku
* src/haikufns.c (haiku_display_info_for_name): Implement
correctly.
Po Lu [Thu, 19 May 2022 05:50:39 +0000 (13:50 +0800)]
Satisfy Valgrind when iconifying frames
* src/xterm.c (x_iconify_frame): Set the rest of data in the
WM_CHANGE_STATE message to 0 instead of leaving it
uninitialized.
Po Lu [Thu, 19 May 2022 03:43:39 +0000 (03:43 +0000)]
Fix race conditions processing frame fullscreen state on Haiku
* doc/lispref/frames.texi (Size Parameters): Remove note saying
Haiku doesn't support `fullwidth' and `fullboth'.
* src/haiku_support.cc (subset_windows, class EmacsWindow)
(Unparent, ParentTo): Stop calling old fullscreen functions.
(ClearFullscreen, FullscreenRectForMode, SetFullscreen): New
functions. Completely rewrite old zoom and fullscreen handling
code.
(Zoom): Send a ZOOM_EVENT and don't actually zoom.
(BWindow_zoom, EmacsWindow_make_fullscreen, EmacsWindow_unzoom):
Delete functions.
(be_set_window_fullscreen_mode): New function.
* src/haiku_support.h (struct haiku_zoom_event): Remove
`zoomed_p' parameter.
(enum haiku_fullscreen_mode): New enum. Update prototypes.
* src/haikufns.c (Fx_display_pixel_height): Return height
instead of width.
* src/haikuterm.c (haiku_make_fullscreen_consistent)
(haiku_read_socket, haiku_fullscreen): Adjust to always set zoom
and fullscreen in the main thread instead of the UI threads.
* src/haikuterm.h (struct haiku_output): Remove flag `zoomed_p'
and add field `fullscreen_mode'.
Po Lu [Thu, 19 May 2022 01:30:33 +0000 (09:30 +0800)]
Respond to changes to the size of the root window
* src/xterm.c (x_display_pixel_height, x_display_pixel_width):
Move here instead.
(handle_one_xevent): Handle ConfigureNotify for the root window.
(x_term_init): Select for structure events on the root window.
* src/xterm.h (struct x_display_info): New fields `screen_width'
and `screen_height'.
(x_display_pixel_height, x_display_pixel_width): Make
prototypes.
Stefan Kangas [Wed, 18 May 2022 23:41:44 +0000 (01:41 +0200)]
Delete entry on SPC completes file names from FAQ
* doc/misc/efaq.texi (SPC no longer completes file names): Delete
node: this is about a change that took place over 15 years ago and is
not likely to be a FAQ these days.
Stefan Kangas [Wed, 18 May 2022 23:27:31 +0000 (01:27 +0200)]
Don't refer to obsolete Ultrix support in FAQ
* doc/misc/efaq.texi (Meta key does not work in xterm): Delete
reference to Ultrix; that platform support was removed in Emacs 23.1.
Paul Eggert [Wed, 18 May 2022 19:39:30 +0000 (12:39 -0700)]
Avoid formatting twice in flymake
* lisp/progmodes/flymake.el (flymake-error): Don't format a
message twice, as that can translate quotes we don't want
translated.
Augusto Stoffel [Sun, 15 May 2022 20:48:50 +0000 (22:48 +0200)]
Fix last change in minibuffer-lazy-highlight-setup
* lisp/isearch.el (minibuffer-lazy-highlight-setup): Apply advices
buffer-locally.
Eli Zaretskii [Wed, 18 May 2022 13:53:49 +0000 (16:53 +0300)]
; * lisp/progmodes/flymake.el (flymake-mode): Fix a typo.
Lars Ingebrigtsen [Wed, 18 May 2022 13:33:11 +0000 (15:33 +0200)]
Add a new display-buffer-full-frame display action
* doc/lispref/windows.texi (Buffer Display Action Functions):
Document it.
* lisp/window.el (display-buffer-full-frame): New display action
(bug#34169).
(display-buffer--action-function-custom-type): Add.
(display-buffer): Mention it.
Lars Ingebrigtsen [Wed, 18 May 2022 12:13:16 +0000 (14:13 +0200)]
Mention next-error-function in flymake-mode doc string
* lisp/progmodes/flymake.el (flymake-mode): Note that you can set
next-error-function (bug#32322).
Po Lu [Wed, 18 May 2022 12:36:50 +0000 (12:36 +0000)]
Implement gamma-correction on Haiku
* src/dispextern.h: Add `gamma_correct' prototype on Haiku as
well.
* src/haikufns.c (gamma_correct): New function.
* src/haikuterm.c (haiku_defined_color): Gamma-correct colors if
their pixels are being allocated.
Lars Ingebrigtsen [Wed, 18 May 2022 11:20:26 +0000 (13:20 +0200)]
Improve previous apropos-documentation-check-elc-file change
* lisp/apropos.el (apropos-documentation-check-elc-file): Add
comment to explain what's going on and expand to lisp-directory
(bug#55492).
Alan Mackenzie [Wed, 18 May 2022 09:18:15 +0000 (09:18 +0000)]
Fix M-x compile-defun when an interactive form is (list ...)
This is for when lexical-binding is nil. The problem fixed was M-x
compile-defun leaving symbols with position in the compiled function's arglist
and interactive form. This fixes bug #55323. Also ensure the doc string is
correctly stripped when lexical-binding is t.
* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): For a (list ...)
interactive form when lexical-binding is nil, strip the positions from the
symbols in the form. Also strip the position from the symbols in the arglist.
(byte-compile-make-closure): (Twice) strip symbols from positions in the doc
string expression. Add comments.
Martin Rudalics [Wed, 18 May 2022 09:09:58 +0000 (11:09 +0200)]
Clean up and simplify 'quit-restore-window' code
* lisp/window.el (window--quit-restore-select-window): New internal
name for 'quit-restore-select-window'.
(quit-restore-window): Use 'window--quit-restore-select-window'
instead of 'quit-restore-select-window'. Simplify code.
Mattias Engdegård [Fri, 13 May 2022 11:36:13 +0000 (13:36 +0200)]
Make printing mostly non-recursive (bug#55481)
Introduce explicit stacks for traversing common data types during
printing: conses, vectors, records, byte-code, hash-tables and
char-tables, all previously traversed using recursion in C. This
greatly reduces the risk of crashing Emacs from C stack overflow
when printing deeply nested data.
* src/print.c (Fprinc, print, PRINT_CIRCLE_CANDIDATE_P):
Special-case Fprinc with a plain string argument to eliminate the need
for keeping track of print_depth during the preprocessing phase.
This also improves performance.
(struct print_pp_entry, struct print_pp_stack, ppstack)
(grow_pp_stack, pp_stack_push_value, pp_stack_push_values)
(pp_stack_empty_p, pp_stack_pop):
New stack for preprocessing.
(print_preprocess):
Make mostly nonrecursive, except for string properties.
(enum print_entry_type, struct print_stack_entry)
(struct print_stack, prstack, grow_print_stack)
(print_stack_push, print_stack_push_vector):
New stack for printing.
(print_vectorlike, print_object):
Make mostly nonrecursive, except for string properties and some less
heavily used types.
* test/src/print-tests.el (print-deeply-nested):
New test.
Michael Albinus [Wed, 18 May 2022 08:05:32 +0000 (10:05 +0200)]
; Fix thinko in etc/NEWS
Po Lu [Wed, 18 May 2022 06:55:23 +0000 (14:55 +0800)]
Avoid dismissing GTK+ popup menus upon wheel movement
* src/xterm.c (handle_one_xevent): Don't forward XI button
events for wheel buttons to GTK+ when a popup menu is active.
Po Lu [Wed, 18 May 2022 04:07:31 +0000 (04:07 +0000)]
Fix race conditions when calculating Haiku frame geometry
* src/haiku_support.cc (be_lock_window, be_unlock_window): New
functions.
* src/haiku_support.h: Update prototypes.
* src/haikufns.c (frame_geometry): Lock window before asking for
its dimensions and frame.
Po Lu [Wed, 18 May 2022 01:23:32 +0000 (01:23 +0000)]
Don't allow moving fullscreen frames on Haiku
* src/haikuterm.c (haiku_set_window_size): Fix typo in comment.
(haiku_set_offset): Prevent offset from changing in fullboth
frames.
Po Lu [Wed, 18 May 2022 01:07:41 +0000 (09:07 +0800)]
Fix a crash when an X connection is dropped in some situations
* src/xterm.c (x_flip_and_flush): Don't try to flush if
`inhibit-redisplay' is t.
Lars Ingebrigtsen [Tue, 17 May 2022 23:22:18 +0000 (01:22 +0200)]
Fix apropos-documentation with universal argument
* lisp/apropos.el (apropos-documentation-check-elc-file): Look up
.elc files in the load path (and don't bug out on deleted .elc
files) (bug#55492).
Stefan Kangas [Tue, 17 May 2022 23:10:22 +0000 (01:10 +0200)]
Recommend Wikipedia over Usenet in FAQ
* doc/misc/efaq.texi (Origin of the term Emacs): Recommend
Wikipedia over Usenet to find out more about TECO.
Stefan Kangas [Tue, 17 May 2022 22:27:52 +0000 (00:27 +0200)]
Remove some ancient Emacs compat code
* lisp/cedet/mode-local.el (mode-local-describe-bindings-1):
* lisp/cedet/semantic/senator.el (senator-copy-tag-to-register):
* lisp/gnus/nnrss.el (nnrss-opml-export):
* lisp/net/newst-backend.el (newsticker-opml-export):
* lisp/textmodes/reftex.el (reftex-mode-menu):
* lisp/woman.el (woman-menu): Remove some ancient Emacs compat code.
Matthias Meulien [Tue, 17 May 2022 21:36:27 +0000 (23:36 +0200)]
Update comment about comint-osc-handlers
* lisp/comint.el: Update comment about comint-osc-handlers.
Lars Ingebrigtsen [Tue, 17 May 2022 20:07:27 +0000 (22:07 +0200)]
Allow running several commands in compilation-start
* lisp/progmodes/compile.el (compilation-start): Allow not erasing
the contents of the buffer (bug#28892).
Protesilaos Stavrou [Tue, 17 May 2022 19:16:31 +0000 (22:16 +0300)]
Use better word for "buffer" in Greek TUTORIAL (bug#55332)
* TUTORIAL.el_GR: Replace all instances of "αποσβεστήρας" with the
more accurate "ενταμιευτής".
Lars Ingebrigtsen [Tue, 17 May 2022 19:00:25 +0000 (21:00 +0200)]
Fix bogus future history entries for `M-x grep'
* lisp/net/mailcap.el (mailcap-file-default-commands): If we have
no matching MIME types, don't iterate over (nil) (bug#27236).
This fixes things like:
(mailcap-file-default-commands '("grep --color=auto -nH --null '' "))
=> ("/usr/bin/emacs -nw")
Lars Ingebrigtsen [Tue, 17 May 2022 18:01:11 +0000 (20:01 +0200)]
Explain more about jit-lock-mode calling conventions
* lisp/jit-lock.el (jit-lock-mode): Explicitly explain ARG
(bug#55451).
Lars Ingebrigtsen [Tue, 17 May 2022 17:45:20 +0000 (19:45 +0200)]
Fix pp-emacs-lisp-code printing of cons cells
* lisp/emacs-lisp/pp.el (pp--insert-lisp): Fix printing of cons
cells (bug#55478).
Robert Pluim [Tue, 17 May 2022 15:38:18 +0000 (17:38 +0200)]
Correct cycle-spacing-actions type
* lisp/simple.el (cycle-spacing-actions): Fix type for predefined
action with fixed numeric arg case.
Robert Pluim [Tue, 17 May 2022 15:23:03 +0000 (17:23 +0200)]
Clarify 'cycle-spacing-actions' docstring
* lisp/simple.el (cycle-spacing-actions): Clarify docstring.
Robert Pluim [Tue, 17 May 2022 15:20:34 +0000 (17:20 +0200)]
; * lisp/simple.el (cycle-spacing-actions): Fix typo
Michael Albinus [Tue, 17 May 2022 15:27:15 +0000 (17:27 +0200)]
; Fix typos in etc/NEWS
Eli Zaretskii [Tue, 17 May 2022 13:21:34 +0000 (16:21 +0300)]
; * etc/NEWS: Rewrite entries for added support of old scripts.
Po Lu [Tue, 17 May 2022 13:13:18 +0000 (13:13 +0000)]
Avoid race conditions when computing real frame positions on Haiku
* src/haiku_support.cc (DispatchMessage): Accept
SEND_MOVE_FRAME_EVENT.
(class EmacsWindow, FrameMoved): Include decorator frame in
MOVE_EVENT events.
(be_send_move_frame_event): New function.
* src/haiku_support.h (struct haiku_move_event): Include
decorator dimensions. Update prototypes.
* src/haikufns.c (haiku_update_after_decoration_change): Ask for
a move frame event and don't do anything if configury is not yet
complete.
* src/haikuterm.c (haiku_read_socket): Adjust accordingly.
समीर सिंह Sameer Singh [Mon, 16 May 2022 23:03:57 +0000 (04:33 +0530)]
Add support for the Modi script
* lisp/language/indian.el ("Modi"): New language environment.
Add composition rules for Modi. Add sample text and input
method.
Add sample text to various scripts.
Rename Punjabi to Gurmukhi.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Modi.
* lisp/leim/quail/indian.el ("modi"): New input method.
(Bug#55439)
* etc/HELLO: Add a Modi greeting.
Rename Hindi to Devanagari.
Add a Gurmukhi greeting.
Replace Odia greeting.
* etc/NEWS: Announce the new language environment and its
input method.
Alan Mackenzie [Tue, 17 May 2022 11:26:05 +0000 (11:26 +0000)]
CC Mode: Correct a rare error in the state cache
* lisp/progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache): Do
not record a position in a macro as the starting position in
c-state-brace-pair-desert. Instead record the position at the beginning of
that macro.
Alan Mackenzie [Tue, 17 May 2022 10:30:05 +0000 (10:30 +0000)]
Correct indentation of opening brace in xdisp.c, which isn't at start of defun
* xdisp.c (calc_pixel_width_or_height): indent the opening brace of a
substatement correctly. It's previous position, in column 0, caused
indentation errors in C Mode.
Po Lu [Tue, 17 May 2022 10:18:32 +0000 (18:18 +0800)]
Fix unused function warning on X
* src/xsettings.c (xg_settings_key_valid_p): Surround with
HAVE_PGTK and HAVE_GSETTINGS.
Pieter van Prooijen [Mon, 16 May 2022 13:20:27 +0000 (15:20 +0200)]
Fix font options compilation with gsettings disabled
* src/xsettings.c (xsettings_get_font_options): Return a font_options
even if gsettings is not enabled.
Po Lu [Tue, 17 May 2022 09:40:57 +0000 (09:40 +0000)]
Rewrite Haiku frame geometry code to handle decorator frames
* doc/lispref/frames.texi (Frame Layout): Document changes to
Haiku frame layout.
* src/haiku_support.cc (class EmacsWindow, MoveToIncludingFrame)
(EmacsMoveTo, MakeFullscreen): Move to an offset including the
decorator frames.
(be_get_window_decorator_dimensions):
(be_get_window_decorator_frame): New functions.
* src/haiku_support.h: Update prototypes.
* src/haikufns.c (haiku_update_after_decoration_change): New
function.
(haiku_create_frame, haiku_set_undecorated)
(haiku_set_override_redirect): Call that function.
(frame_geometry): Actually calculate frame geometry based on
decorator and frame sizes.
* src/haikuterm.c (haiku_coords_from_parent): Use frame width
instead.
(haiku_read_socket): Set left and top positions based on
decorator width and height.
* src/haikuterm.h (struct haiku_output): New field `frame_x' and
`frame_y'.
Lars Ingebrigtsen [Tue, 17 May 2022 09:48:12 +0000 (11:48 +0200)]
Fix package-quickstart breakage
* lisp/emacs-lisp/package.el (package-quickstart-refresh): Work
around syntax-ppss now clobbering match data (but it's not clear
whether that's supposed to be allowed) (bug#55447).
Lars Ingebrigtsen [Tue, 17 May 2022 09:06:33 +0000 (11:06 +0200)]
Improve Finternal__define_uninitialized_variable erroring
* src/eval.c (Finternal__define_uninitialized_variable): Say what
symbol we're bugging out on for easier debugging.
Lars Ingebrigtsen [Tue, 17 May 2022 08:09:48 +0000 (10:09 +0200)]
Fix edebug-tests test failure after prin1 change
* lisp/emacs-lisp/ert-x.el (ert--make-print-advice): Fix test
failures in edebug-tests.
Po Lu [Tue, 17 May 2022 03:11:23 +0000 (03:11 +0000)]
Remove extra EmacsPopUpMenu class
* src/haiku_support.cc (class EmacsPopUpMenu): Delete class that
does nothing.
(BPopUpMenu_new): Use BPopUpMenu directly.
(BMenu_add_title): Clean up coding style.
Po Lu [Tue, 17 May 2022 02:51:42 +0000 (02:51 +0000)]
Add more cursor bitmaps on Haiku
* src/haikufns.c (cursor_bitmaps_for_id): Add vertd, horizd and
hand bitmaps.
Po Lu [Tue, 17 May 2022 01:21:19 +0000 (09:21 +0800)]
Let XTread_socket read events for all non-DND displays
* src/xterm.c (XTread_socket): Allow reading events from
displays other than the DND display during drag-and-drop.
Po Lu [Tue, 17 May 2022 01:10:46 +0000 (09:10 +0800)]
Fix byte swapping of some drag-and-drop messages
* src/xterm.c (SWAPCARD16, SWAPCARD32): Actually swap the data
instead of just calling bswap_32/bswap_16.
Po Lu [Mon, 16 May 2022 13:46:30 +0000 (21:46 +0800)]
Fix detection of wheel movement during drag-and-drop
* src/xterm.c (x_dnd_send_position): Don't treat Button8 as the
mouse wheel.
kobarity [Mon, 16 May 2022 13:40:17 +0000 (15:40 +0200)]
Fix Python highlighting of some assignment statements
* lisp/progmodes/python.el (python-rx): Limit not-simple-operator
to a single line (bug#51362).
Lars Ingebrigtsen [Mon, 16 May 2022 13:30:50 +0000 (15:30 +0200)]
Add new user option compilation-hidden-output
* doc/emacs/building.texi (Compilation Mode): Document it.
* lisp/progmodes/compile.el (compilation-hidden-output): New user
option.
(compilation-filter): Use it.
(compilation--hide-output): New function.
Lars Ingebrigtsen [Mon, 16 May 2022 13:01:08 +0000 (15:01 +0200)]
Don't expose Vprint_variable_mapping to Lisp
* src/print.c: Don't expose Vprint_variable_mapping to the Lisp
world, because it really should be immutable.
(print_create_variable_mapping): Initialization moved here from
syms_of_print.
(print_bind_overrides): Call it.
(syms_of_print): Protect the mapping variable.
Tassilo Horn [Mon, 16 May 2022 12:26:29 +0000 (14:26 +0200)]
; Fix Wrong type argument: number-or-marker-p, (4) in cycle-spacing
Lars Ingebrigtsen [Mon, 16 May 2022 12:24:41 +0000 (14:24 +0200)]
Revert "Make TAB work in makefile mode when transient mark mode is on"
This reverts commit
a4c96147d1875d359db8d7fda3489954046a5db8.
This change made hitting RET after an assignment insert a TAB character
(bug#55446).
Lars Ingebrigtsen [Mon, 16 May 2022 12:04:08 +0000 (14:04 +0200)]
Improve newsticker file name handling and printing
* lisp/net/newst-backend.el (newsticker--images-dir)
(newsticker--icons-dir, newsticker--cache-dir): Don't use concat
to construct file names.
(newsticker-download-images, newsticker-download-enclosures): Ditto.
(newsticker--cache-save-feed): Bind print-level etc when printing.
* lisp/net/newst-treeview.el (newsticker-treeview-save): Ditto.
This patch was mostly written by mailj2@protonmail.com, but was then
rewritten by me, and has some contributions from Xavier Capaldi (which
doesn't need copyright assignment).
Eli Zaretskii [Mon, 16 May 2022 11:50:27 +0000 (14:50 +0300)]
; Fix documentation of 'cycle-spacing'
* etc/NEWS:
* doc/emacs/killing.texi (Deletion): Fix wording and punctuation
of the documentation of 'cycle-spacing'.
Eli Zaretskii [Mon, 16 May 2022 11:37:36 +0000 (14:37 +0300)]
; * doc/emacs/frames.texi (Tooltips): Fix punctuation and wording.
Po Lu [Mon, 16 May 2022 09:28:36 +0000 (17:28 +0800)]
Document recent tooltip changes on NS
* doc/emacs/frames.texi (Tooltips):
* etc/NEWS: Announce that non-system tooltips are now available
on Nextstep.
Tassilo Horn [Mon, 16 May 2022 08:08:40 +0000 (10:08 +0200)]
; cycle-spacing-actions: Add forgotten arg modifier - as customize choice
Andrea Corallo [Mon, 16 May 2022 07:54:15 +0000 (09:54 +0200)]
; Fix two mail addresses
;* lisp/emacs-lisp/comp.el: Fix author's mail address.
;* lisp/emacs-lisp/comp-cstr.el: Likewise.
Po Lu [Mon, 16 May 2022 07:16:27 +0000 (07:16 +0000)]
Improve error checking in `haiku-roster-launch'
* src/haikuselect.c (Fhaiku_roster_launch): Signal error if
FILE-OR-TYPE doesn't exist or ARGS does not apply.
Tassilo Horn [Thu, 12 May 2022 21:24:47 +0000 (23:24 +0200)]
Improve cycle-spacing and bind it to M-SPC by default
* lisp/bindings.el (esc-map): Bind M-SPC to cycle-spacing instead of
just-one-space.
* lisp/simple.el (delete-space--internal): New function.
(delete-horizontal-space): Use it.
(delete-all-space): New command.
(just-one-space): Implement on its own instead of calling
cycle-spacing with a special flag.
(cycle-spacing--context): Make it a plist instead of a list. Adapt
docstring accordingly.
(cycle-spacing-actions): New user option.
(cycle-spacing): Rewrite so that it performs the actions in
cycle-spacing-actions instead of the hard-coded ones.
* doc/emacs/killing.texi (characters): Mention and add a variable
index entry for cycle-spacing-actions.
* etc/NEWS: Document that M-SPC is now cycle-spacing instead of
just-one-space.
Stefan Kangas [Mon, 16 May 2022 04:30:38 +0000 (06:30 +0200)]
Merge from origin/emacs-28
f928330fa8 Update to Org 9.5.3-6-gef41f3
007bf9a34c Hide temporary FUSE files in Tramp
5dbaddc729 ; Fix some typos
Stefan Kangas [Mon, 16 May 2022 04:30:38 +0000 (06:30 +0200)]
; Merge from origin/emacs-28
The following commit was skipped:
950dab21e3 * test/lisp/net/tramp-tests.el (tramp-test27-load): Adapt ...
Stefan Kangas [Mon, 16 May 2022 04:30:38 +0000 (06:30 +0200)]
Merge from origin/emacs-28
48201ce8de ; * lisp/electric.el (electric-indent-mode): Fix a typo.
Po Lu [Mon, 16 May 2022 03:05:32 +0000 (11:05 +0800)]
Improve safety of handling unsupported drop events on X
* src/keyboard.c (kbd_buffer_get_event):
* src/xterm.c (handle_one_xevent): Check that the event frame is
still live after calling arbitrary Lisp code.
Po Lu [Mon, 16 May 2022 01:37:27 +0000 (01:37 +0000)]
Clean up Haiku code after file panel changes
* src/haiku_support.cc:
* src/haiku_support.h: Stop including pthread.h and specpdl_ref.
* src/haikumenu.c (run_menu_bar_help_event): Ignore invalid help
events instead of aborting.
Po Lu [Mon, 16 May 2022 01:22:50 +0000 (09:22 +0800)]
; Remove extraneous debugging code
* src/xterm.c (handle_one_xevent): Remove extra debugging code.
Po Lu [Mon, 16 May 2022 01:18:33 +0000 (09:18 +0800)]
Handle pointer axes changing along with scroll valuators
* xterm.c (x_get_scroll_valuator_delta): Set valuator_return to
NULL if no valuator was found.
(handle_one_xevent): Assume pointer axes might've changed if no
scroll valuator was found but valuators were set when handling
motion events.